home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xmessage / readfile.c < prev    next >
C/C++ Source or Header  |  1995-06-22  |  1KB  |  51 lines

  1. /*
  2.  * xmessage - utility for querying users
  3.  *
  4.  * Copyright 1988,1991 Massachusetts Institute of Technology
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software and its
  7.  * documentation for any purpose and without fee is hereby granted, provided
  8.  * that the above copyright notice appear in all copies and that both that
  9.  * copyright notice and this permission notice appear in supporting
  10.  * documentation, and that the name of M.I.T. not be used in advertising or
  11.  * publicity pertaining to distribution of the software without specific,
  12.  * written prior permission.  M.I.T. makes no representations about the
  13.  * suitability of this software for any purpose.  It is provided "as is"
  14.  * without express or implied warranty.
  15.  */
  16.  
  17. #include <X11/Xos.h>            /* for types.h */
  18. #include <sys/stat.h>
  19. #include <stdio.h>
  20.  
  21. extern char *malloc();
  22.  
  23. static char filename[80];
  24.  
  25.  
  26. /*
  27.  * copy_stdin - copy stdin to a temporary file and return the name of the
  28.  *        temporary file.
  29.  */
  30.  
  31. char *copy_stdin ()
  32. {
  33.     char buf[BUFSIZ];
  34.     int mfile;
  35.     int n;
  36.     char *cp;
  37.  
  38.     strcpy (filename, "/tmp/xmessage-XXXXXX");
  39.     mktemp (filename);
  40.     if (!filename[0])
  41.     return NULL;
  42.  
  43.     mfile = creat(filename, 0600);
  44.     if (mfile < 0) return NULL;
  45.     while ((n = fread (buf, 1, BUFSIZ, stdin)) > 0) {
  46.     (void) write (mfile, buf, n);
  47.     }
  48.     (void) close (mfile);
  49.     return filename;
  50. }
  51.